/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SISAC.DACEA.DA;

import SISAC.DACEA.DS.Conexion;
import SISAC.DACEA.ENTITY.CicloAcademico;
import SISAC.DACEA.ENTITY.Cobro;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Types;
import java.util.ArrayList;


/**
 *
 * @author Abel
 */
public class CicloAcademicoDA {
    public synchronized void crearCiclo(CicloAcademico oCicloAcademico){
        CallableStatement call = null;
        Connection cn=null;
        try {
            
            String sql="{CALL insertarCiclo(?,?,?,?,?)}";
            cn = new Conexion().getConnection();
            call=cn.prepareCall(sql);
            
            call.registerOutParameter(1, Types.INTEGER);
            call.setString(2, oCicloAcademico.getNombreCiclo());
            call.setInt(3, oCicloAcademico.getCodigoCobro());
            call.setDate(4, oCicloAcademico.getFechaInicio());
            call.setDate(5, oCicloAcademico.getFechaFin());
            
             call.executeUpdate();
            
        } catch (Exception e) {
            System.out.println("Error en insertar ciclo "+e.getMessage());
        }
    
    }   
    public synchronized ArrayList<CicloAcademico> obtenerCicloAcademico() {
        Connection cn = null;
        CallableStatement call = null;
        ResultSet rs = null;
        
        ArrayList<CicloAcademico> lstCicloAcademico = new ArrayList<CicloAcademico>();
        try {
            String sql = "{CALL obtenerCicloAcademico()}";

            cn = new Conexion().getConnection();
            call = cn.prepareCall(sql);
            rs = call.executeQuery();
            while(rs.next()){
                
                CicloAcademico oCicloAcademico = new CicloAcademico();
                oCicloAcademico.setCodigoCiclo(rs.getInt(1));
                oCicloAcademico.setNombreCiclo(rs.getString(2));
                oCicloAcademico.setCodigoCobro(rs.getInt(3));
                oCicloAcademico.setFechaInicio(rs.getDate(4));
                oCicloAcademico.setFechaFin(rs.getDate(5));
                
                lstCicloAcademico.add(oCicloAcademico);               
            }
            
            return lstCicloAcademico;

        } catch (Exception e) {
            System.out.println("Error en obtenertCicloAcademico" + e);
            return null;
        }
    }
    
}
